#include <iostream>
#include <signal.h>

// void hander(int sig)
// {
//     std::cout << "#######################" << std::endl;
//     std::cout << "递达" << sig << "信号!" << std::endl;
//     sigset_t pending;
// }
// void handerSig(int sig)
// {
//     std::cout << "获得了一个信号：" << sig << std::endl;
//     int n = alarm(1);
// }

// int main()
// {
//     signal(2, SIG_IGN);
//     while(true)
//     {
//         std::cout << "hello， world" << std::endl;
//         sleep(1);
//     }
//     return 0;
// }

// int main()
// {
//     signal(SIGALRM, handerSig);
//     alarm(1);
//     while(true)
//     {
//         pause();
//         std::cout << "完成一次操作" << std::endl;
//     }
// }





// int main()
// {
//     //signal(SIGALRM, handerSig);
//     alarm(1);

//     while(true)
//     {
//         std::cout << "hello，alarm" << std::endl;
//         sleep(1);
//     }
//     return 0;
// }

void handerSig(int sig)
{
    std::cout << "获得了一个信号：" << sig << std:: endl;
    // exit(13);
}

int main()
{
    for(int i = 1; i < 32; i++)
    {
        signal(i, handerSig);
    }
    for(int i = 1; i < 32; i++)
    {
        sleep(1);
        if(i == 9 || i == 19)
            continue;
            raise(i);
    }

    int cnt = 0;
    // while(true)
    // {
    //     std::cout << "hello, world, " << cnt++ <<
    //     ",pid:" << getpid() << std::endl;
    //     sleep(1);
    //     int a = 10;
    //     a /= 0;
    //     int *p = nullptr;
    //     *p = 10;
    // }
    return 0;
}